package cn.yeziji.forum.config.auth;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 排除过滤地址
 *
 * @author gzkemays
 * @since 2022/1/20 14:24
 */
@Getter
@AllArgsConstructor
public enum FilterExUrls {
  /** 文章列表 */
  DETAILS_LIST("/forum/details/list"),
  /** 用户注册 */
  USER_REGISTER("/forum/user/register"),
  /** 用户基本信息 */
  GET_USER_MSG("/forum/user/msg"),
  /** 统计文章 */
  DETAIL_STATICS_COUNT("/forum/details/statistics"),
  /** 统计文章的任意接口 */
  DETAIL_STATICS_ALL("/forum/details/statistics/*"),
  /** 标签列表 */
  TAGS_OFFSET("/forum/tags/list"),
  /** 文章详情 */
  DETAILS_GET("/forum/details/get"),
  /** 获取用户注册码 */
  EMAIL_CODE("/forum/user/code"),
  /** websocket */
  WEBSOCKET_URL("/ws/*"),
  /** 反馈列表 */
  FEEDBACK_LIST("/forum/feedback/list"),
  /** 用户评论列表 */
  DETAIL_COMMENT_LIST("/forum/comment/detail/*"),
  /** 分享链接列表 */
  SHARE_LINK_LIST("/forum/share/list"),
  /** 友情链接列表 */
  FRIENDLY_LINK_LIST("/forum/friendly/list"),
  /** 问答列表 */
  QUESTION_ANSWER_LIST("/forum/question/list"),
  /** 查看问题 */
  QUESTION_GET_DETAIL("/forum/question/get/*"),
  /** 问题回复的列表 */
  ANSWER_LIST("/forum/answer/list/*"),
  /** 获取用户的粉丝列表或关注列表 */
  USER_FOCUS_OR_FANS("/forum/user/focusOrFans"),
  /** 个人中心的粉丝与关注 */
  CENTRE_FOCUS_OR_FANS_CENTRE("/forum/centre/focusOrFans"),
  /** 个人中心数据统计 */
  CENTRE_STATICS("/forum/centre/statics"),
  /** 个人中心文章 */
  CENTRE_DETAIL_LIST("/forum/centre/dlist"),
  /** 根据用户昵称获取专栏 */
  GET_SPECIAL_BY_NICKNAME("/forum/centre/special"),
  /** 根据用户昵称获取文章 */
  GET_TAGS_BY_NICKNAME("/forum/centre/tags"),
  /** 获取用户总数 */
  USER_COUNT("/forum/user/count"),
  /* 支付接口，没有 forum 前缀 */
  /**
   * 支付统一回调
   */
  PAY_NOTICE("/pay/notify/*"),
  ;
  final String url;

  public static String[] urls() {
    FilterExUrls[] values = FilterExUrls.values();
    int length = values.length;
    String[] exUrls = new String[length];
    for (int i = 0; i < length; i++) {
      exUrls[i] = values[i].getUrl();
    }
    return exUrls;
    /*    return new String[] {
      DETAILS_LIST.url,
      DETAILS_GET.url,
      DETAIL_COMMENT_LIST.url,
      DETAIL_STATICS_COUNT.url,
      DETAIL_STATICS_ALL.url,
      WEBSOCKET_URL.url,
      EMAIL_CODE.url,
      USER_REGISTER.url,
      TAGS_OFFSET.url,
      FEEDBACK_LIST.url,
      SHARE_LINK_LIST.url,
      FRIENDLY_LINK_LIST.url,
      QUESTION_ANSWER_LIST.url,
      QUESTION_GET_DETAIL.url,
      ANSWER_LIST.url,
      USER_COUNT.url,
      GET_USER_MSG.url,
      USER_FOCUS_OR_FANS.url
    };*/
  }
}
